package edu.gdkm.demo4;
//public公共修饰符，在类中修饰称为公共类，一个文件只能有一个公共类，并且文件的名称必须与公共类名相同。
/*
* 创建一个Teacher类，包含的属性有“教工号”、 “姓名”、 “性别”、 “基本工资”和“奖金”；
* 包含方法:１)打印基本信息。2)计算“基本工资”和“奖金”的和
 */
public class Teacher {
    String teacherId;
    String name;
    String sex;
    double salary;
    double wage;
    int age;

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        if(age<0){
            this.age=0;

        }else if(age >120){
            this.age=120;
        }else{
            this.age=age;
        }
    }

    public String getTeacherId() {
        return teacherId;
    }

    public void setTeacherId(String teacherId) {
        this.teacherId = teacherId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public double getSalary() {
        return salary;
    }

    public void setSalary(double salary) {
        this.salary = salary;
    }

    public double getWage() {
        return wage;
    }

    public void setWage(double wage) {
        this.wage = wage;
    }

    /*定义构造方法：
        1、每个类都必须要有构造方法用于分配内存空间
        2、不定义构造方法时，编译器会自动生成无参数的构造方法
        3、当自定义了构造方法之后，编译器将不会再自动生成无参数的构造方法
        4、需要跟类名相同
        5、不设置返回类型
        6、一个类可以定义多种构造方法，即使用方法的重载特性
        7、构造方法按照需求去定义，可以无参数，也可以多个参数，
           但是一般会定义一个无参的和一个全参的构造方法
        8、构造方法必须通过new指令调用，不能通过对象进行显示调用。
          （即通过 . 的方式调用）
         */
    public Teacher(){

    }
    public Teacher(String teacherId,String name,String sex,double salary,double wage){
        this.teacherId=teacherId;
        this.name = name;
        this.sex = sex;
        this.salary = salary;
        this.wage = wage;
    }
    public Teacher(String teacherId,String name,String sex){
        this.teacherId=teacherId;
        this.name = name;
        this.sex = sex;
    }
    public void print(){
        System.out.println("教工号："+teacherId
                +",姓名："+name+",性别:"
                +sex+",工资:"+salary+",奖金："+wage);

    }
    public double total(){
        int salary = 100;

        return this.salary+this.wage;
    }
}
